/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package edu.ucue.ptc.gco.ngc;

import edu.ucue.ptc.gco.mdl.Cliente;
import edu.ucue.ptc.gco.mdl.Direccion;
import edu.ucue.ptc.gco.util.AtributoInvalidoException;
import edu.ucue.ptc.gco.util.ClienteValidadorException;
import edu.ucue.ptc.gco.util.DireccionValidadorException;
import edu.ucue.ptc.gco.util.NoExisteObjetoException;
import java.util.List;
import javax.ejb.Local;

/**
 *
 * @author xaferima
 */
@Local
public interface ClienteManagerLocal {
   public Cliente crear(Cliente cliente) throws ClienteValidadorException,AtributoInvalidoException;
   public Cliente crearClienteD(Cliente cliente,List<Direccion> Ldir, String nombreUsuario, String contrasenaUsuario) throws AtributoInvalidoException, ClienteValidadorException, DireccionValidadorException;
   public Cliente modificar(Cliente cliente,String nombreUsuario, String contrasenaUsuario) throws ClienteValidadorException, AtributoInvalidoException;
   public Cliente buscarPorCedula(String cedula, String nombreUsuario, String contrasenaUsuario) throws AtributoInvalidoException;
   public Cliente buscarPorId(int id, String nombreUsuario, String contrasenaUsuario) throws AtributoInvalidoException;
   public String eliminarPorCedula(String cedula, String nombreUsuario, String contrasenaUsuario) throws AtributoInvalidoException ;
   public String eliminarPorId(int id, String nombreUsuario, String contrasenaUsuario) throws ClienteValidadorException, AtributoInvalidoException;
   public String eliminar(Cliente cliente, String nombreUsuario, String contrasenaUsuario) throws AtributoInvalidoException;
   public List<Cliente> listar(String nombreUsuario, String contrasenaUsuario) throws AtributoInvalidoException;
   public String eliminarEmpleado(Cliente cliente,String usuario, String password) throws NoExisteObjetoException, AtributoInvalidoException;
    
}
